# -*- coding: utf-8 -*-

import pytest
from sql_connect import Session


@pytest.hookimpl(hookwrapper=True, tryfirst=True)
def pytest_runtest_makereport(item, call):
    out = yield  # 是通过yield关键字做轮循
    # 假设时间参数，我们使用 time.time()
    report = out.get_result()
    if report.when == "call":  # 固定写法（固定过滤语句）

        # 大概也要先知道数据据库中的列表都该填写什么  不然获取到的数据也不知道怎么填
        # caseId, testId, caseName, testResult
        print(report.__dict__)  # 观察数据的内容
        print(report.outcome)  # 查询报告结果
        with Session(host='127.0.0.1',database='test_weekly_report',user='root',password='q0179884652') as session:
            sql_ = f"""insert into test_cases(CaseName,CaseID,TestName,TestResult) values ('{report.location[0]}','{report.nodeid}','{report.location[-1]}','{report.outcome}')"""

            session.change(sql_)
            # print(res)